Methods and apparatus for selection of content delivery network (CDN) based on user location

ABSTRACT

Methods and apparatus are provided for selecting a Content Delivery Network (CDN) for Internet Protocol (IP)-based services. A service request message is received from a user. The service request message includes user location information. The CDN is selected in accordance with the user location information. The service request message is transmitted to the CDN for connection of a corresponding delivery function module of the CDN to the user.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to content providing services, and more particularly, to the selection of a Content Delivery Network (CDN) based on user location.

2. Description of the Related Art

As Internet Protocol (IP)-based communication services and IP-based broadcast services converge, opportunities are emerging for the development of new business models and services in the industry. An example of a technology that clearly illustrates this convergence is IP Television (TV) technology, which provides conventional TV, voice and information services. Specifically, IPTV technology provides flexible communication and broadcast services to fixed terminals, such as set-top boxes, Personal Computers (PCs) and TV sets, as well as to mobile devices, such as mobile phones, Personal Digital Assistants (PDAs) and laptop computers. The flexible communication and broadcast services may be provided in any environment using wired, wireless and broadcast networks.

IPTV services may be classified into an Open Internet model or an IP Multimedia Subsystem (IMS)-based Managed model. In an IMS-based Managed model, a Call/Session Control Function (CSCF) server selects an appropriate application server in response to a user's service request message based on user information. The service request message is then forwarded to the selected application server.

Referring initially to FIG. 1, a diagram illustrates a network for providing an IMS-based IPTV service. A user 102 (also referred to as a User Equipment (UE) or a User Agent (UA)) sends a service request message to an IPTV controller 104. Specifically, in the IMS-based IPTV service, the service request message is a Content on Demand (CoD) service request message. The IPTV controller 104 retrieves user profile information corresponding to the user 102 from a server 106 that manages user profiles. The IPTV controller 104 performs an authentication process for the user and the requested service based on the retrieved user profile information. If the user 102 and the requested service are successfully authenticated, the IPTV controller 104 selects a Media Control Function (MCF) module 110 and a corresponding CDN 108 from a plurality of CDNs (CDN1, CDN2, CDN3) based on predetermined criteria in the user profile information. The IPTV controller 104 forwards the service request message to the selected MCF module 110.

Typically, a default CDN to be utilized in delivery of a service to the user is defined when the user registers with the IMS network, and is stored in the user profile information. Thus, the service request message is forwarded to the default CDN stored in the user profile information absent any specific user request to the contrary.

The MCF module 110 selects a Media Delivery Function (MDF) module 112 having the content requested by the user 102 in the CoD service request message, from a plurality of MDF modules (MDF1, MDF2) in the CDN 108. The MDF module 112 functions as a server that delivers the content to the user. The MCF module 110 may utilize various selection criteria in selecting the MDF module 112. For example, the MDF module 112 may be selected in accordance with at least one of a policy of the service provider, a general traffic load, and a user location. The selection of the MDF module 112 based on user location can be implemented as set forth by the service provider. After the MCF module 110 selects the MDF module 112, a connection between the user 102 and the MDF module 112 is established in order to provide the user 102 with a transmission, such as, for example, a CoD transmission.

In order to guarantee high service quality for a CoD service, CoD content that is within a predetermined range of jitter is continuously transmitted to the user 102. As the distance between the MDF module 112 and the user 102 increases, the routing path becomes more complicated. Complicated routing paths cause congestion and an increase in jitter, resulting in a degradation of service quality. The use of user location as a criterion in MDF module selection attempts to minimize the transmission distance to the user 102.

A conventional MCF module selects an MDF module closest to a user from among the MDF modules under the control of the MCF module. However, because the MDF module is selected based on location information preset by the service provider, conventional MDF module selection does not take into account the mobility of the user and cannot guarantee that the selected MDF module is the MDF module in the CDN that is closest to a current location of the user. Further, the selection of the MCF module and corresponding CDN does not consider user location information. Thus, it is possible that an MDF module of another CDN is actually closest to the current location of the user.

SUMMARY OF THE INVENTION

The present invention has been made to address at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention provides methods and apparatus for selecting a CDN for IP-based services.

According to one aspect of the present invention, a method is provided for selecting a Content Delivery Network (CDN) for Internet Protocol (IP)-based services at an IP controller. A service request message is received from a user. The service request message includes user location information. The CDN is selected in accordance with the user location information. The service request message is transmitted to the CDN for connection of a corresponding delivery function module of the CDN to the user.

According to another aspect of the present invention, a method is provided for establishing a connection with a Content Delivery Network (CDN) at a User Equipment (UE) for Internet Protocol (IP)-based services. A service request message is transmitted to an IP controller. The service request message includes location information of the UE. A connection is established with a delivery function module of the CDN selected by the IP controller in accordance with the location information for reception of a requested service.

According to an additional aspect of the present invention, a method is provided for establishing a connection with a User Equipment (UE) at a Content Delivery Network (CDN) for Internet Protocol (IP)-based services. A service request message is received at a control function module of the CDN. The service request message includes location information of the UE. A delivery function module of the CDN is selected in accordance with the location information. A connection is established between the UE and the selected delivery function module for transmission of a requested service.

According to a further aspect of the present invention, an Internet Protocol (IP) controller for IP-based services is provided. The IP controller includes a receiver for receiving a service request message from a user. The service request message includes user location information. The IP controller also includes a selection unit for selecting a Content Delivery Network (CDN) in accordance with the user location information. The IP controller further includes a transmitter for transmitting the service request message to the CDN for connection of a corresponding delivery function module of the CDN to the user.

According to another aspect of the present invention, a User Equipment (UE) for IP-based services is provided. The UE includes a transmitter for transmitting a service request message to an IP controller. The service request message includes location information of the UE. The UE also includes a controller for establishing a connection with a delivery function module of a Content Delivery Network (CDN) selected by the IP controller in accordance with the location information for reception of a requested service.

Additionally, according to a further aspect of the present invention, a Content Delivery Network (CDN) for IP-based services is provided. The CDN includes a control function module for receiving a service request message. The service request message includes location information of a User Equipment (UE). The control function module also selects a delivery function module of the CDN in accordance with the location information. The CDN also includes a plurality of delivery function modules. A connection is established between the UE and the selected delivery function module for transmission of a requested service.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features and advantages of the present invention will be more apparent from the following description when taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a diagram illustrating a network for providing an IMS-based IPTV service;

FIG. 2 is a diagram illustrating a format of a CoD service request message in which CDN selection is based on user location, according to an embodiment of the present invention;

FIG. 3 is a table showing a newly defined schema for CDN selection based on user location, according to an embodiment of the present invention;

FIG. 4 is a diagram illustrating a network for providing an IMS-based IPTV service in which CDN selection is based on user location, according to an embodiment of the present invention;

FIG. 5 is a diagram illustrating a network for providing an IPTV service in which CDN selection is based on user location, according to another embodiment of the present invention;

FIG. 6 is a diagram illustrating an initial Filter Criteria (iFC) of a user profile for use in CDN selection based on user location, according to an embodiment of the present invention;

FIG. 7 is a flow diagram illustrating an MCF module selection methodology based on user location information extracted from a CoD service request message, according to an embodiment of the present invention; and

FIG. 8 is a block diagram illustrating an IPTV controller configuration for supporting CDN selection based on user location, according to an embodiment of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE PRESENT INVENTION

Embodiments of the present invention are described in detail with reference to the accompanying drawings. The same or similar components may be designated by the same or similar reference numerals although they are illustrated in different drawings. Detailed descriptions of constructions or processes known in the art may be omitted to avoid obscuring the subject matter of the present invention.

The terms and words used in the following description and claims are not limited to their dictionary meanings, but are merely used to enable a clear and consistent understanding of the invention. Accordingly, it should be apparent to those skilled in the art that the following description of embodiments of the present invention are provided for illustrative purposes only and not for the purpose of limiting the invention, as defined by the appended claims and their equivalents.

It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “an identifier” includes reference to one or more of such identifiers.

Referring to FIG. 2, a diagram illustrates a format of a CoD service request message in which CDN selection is based on user location, according to an embodiment of the present invention.

In the conventional content providing method described above, the user equipment transmits a Session Initiation Protocol (SIP) message having an SIP header 202 and an SIP body 204 to the service provider network as a CoD service request message. The SIP header 202 contains an SIP Invite 206, as shown in FIG. 2. The SIP Invite 206 provides information relating to, for example, the sender, the recipient, the content-type and the content-length. The SIP body 204 contains a Session Description Protocol (SDP) payload 208, as shown in FIG. 2. The service provider network recognizes the SDP payload 208 by checking the Content-Type field of the SIP header 202 and obtains information about the content that is requested by the user. However, in the conventional method, the network is unable to acquire information on user location from the SIP-based CoD service request message.

In accordance with an embodiment of the present invention, a new schema, CoDserviceSchema 210, is also provided in the SIP body 204 of the CoD service request message. CoDserviceSchema 210 is defined, according to an embodiment of the present invention, as shown in FIG. 3. The schema of FIG. 3 defines two types of elements that may provide user location information. First, a geocoordinate element may be provided for a device equipped with a Global Positioning System (GPS) module. The geocoordinate element expresses precise location information in terms of latitudinal and longitudinal coordinates. Second, a Base Station Identifier (BSID) element may be provided for a device that does not have a GPS module. The BSID element expresses location information using information of an Access Point (AP) or a Base Station (BS) that provides the user with Internet access.

Referring now to FIG. 4, a diagram illustrates a network for providing an IMS-based IPTV service in which CDN selection is based on user location, according to an embodiment of the present invention.

A user 402 sends a CoD service request message to an IPTV controller 404 in order to receive a CoD service. The CoD service request message contains information on the user's location, as described above with respect to FIGS. 2 and 3. Upon receipt of the CoD service request message, the IPTV controller 404 retrieves a user profile stored in a server 406 that corresponds to the user 402. The retrieved user profile is used by the IPTV controller 404 to authenticate the user 402 for the service requested, which is extracted from an SDP payload of the CoD service request message. The IPTV controller 404 recognizes the CoDserviceSchema payload in an SIP body of the CoD service request message by referencing a Content-Type field of an SIP header of the CoD service request message. The IPTV controller 404 extracts information related to user location from the CoDserviceSchema and forwards the CoD service request message to an MCF module 410 of a corresponding CDN 408 in accordance with the requested service information and the user location information. According to an embodiment of the present invention, the CoD service request message is forwarded to a CDN 408 of a plurality of CDNs (CDN1, CDN2, CDN3) that is closest to the user location information. The MCF module 410 of CDN 408 also utilizes the user location information of the CoD service request message to forward the CoD service request message to an MDF module 412 of a plurality of MDF modules (MDF1, MDF2) in the CDN 408 that is closest to the user location information.

FIG. 5 is a diagram illustrating a network for providing an IPTV service in which CDN selection is based on user location, according to another embodiment of the present invention. The network of FIG. 5 is similar to that of FIG. 4, except the names of the functional elements reflect those of Open IPTV Form standards. For example, User 502, IPTV controller 504, and server 506 function in a manner similar to that of their respective elements in FIG. 4. FIG. 5 also illustrates a CDN Controller (CDNC) 510, a Cluster Controller (CC) 514 and a plurality of Content Delivery Function (CDF) modules 512 in each CDN 508. In selecting the closest CDF to the user, the CDNC 510 first utilizes the user location information in the CoD service request message to select the CC 514 closest to the user location information. The CC 514 also utilizes the user location information to select the CDF 512 closest to the user location information.

Referring now to FIG. 6, a diagram illustrates an iFC contained in a user profile for use in CDN selection based on user location, according to an embodiment of the present invention. The iFC is used as a criterion for forwarding the service request message from the user to an appropriate CDN. The iFC is composed of priority, trigger point and application server information. The priority information determines the order in which the filter criteria will be assessed and then compared with the remaining iFC that are part of the same service profile. The trigger point information is evaluated in order to determine whether the SIP request will be forwarded to a particular application server. Trigger point information includes one or more service point triggers. ‘Request-URI’ indicates a type of service that a user wants to receive. ‘SIP Method’ indicates a type of SIP message, such as, for example, INVITE, OPTION, SUBSCRIBE, etc. ‘Session Case’ indicates whether the SIP request is originated by the served user, addressed to the served registered user, or addressed to the served unregistered user. ‘Session Description’ is any partial or full SDP in the SIP body. ‘UA Location’ describes the location of a user initiating the service. The application server is composed of ‘SIP URI’, ‘Default Handling’ and ‘Service Information’. ‘SIP URI’ is the address of the application server that will receive the SIP request if the conditions described in the trigger point are met. In the embodiment of the present invention, SIP URI is an MCF. ‘Default Handling’ indicates the action that will be taken if the IPTV control cannot contact the application server. ‘Service Information’ contains data that the application server may need to process the request.

In an embodiment of the present invention, user location is one of the defined criteria, or filtering parameters, in a Service Point Trigger of the iFC. When a service request message is received, the IPTV controller extracts the iFC from the user profile to select an appropriate MCF module and a corresponding CDN by filtering the user location information and the service information of the service request message through the iFC.

FIG. 7 is a flow diagram illustrating an MCF module selection methodology based on user location information extracted from the CoD service request message, according to an embodiment of the present invention. The methodology begins in step 702 where a service request message is received from the user at the IPTV controller. In step 704, a corresponding user profile is retrieved from the server. In step 706, the requested service is extracted from the service request message and the user is authenticated for the requested service in accordance with the user profile. In step 708, location information is extracted from the service request message. In step 710, the extracted service and location information are filtered through an iFC extracted from the user profile. For example, in a specific iFC, a session description filtering parameter of the Service Point Trigger of the iFC is set to video, the user location is set to Zone A, and the SIP Uniform Resource Identifier (URI) value of the application server is set to sip.CodServerA@example.com. If the session description information and location information extracted from the header and the body of the service request message indicate video type and Zone A, respectively, the service request message is forwarded to sip.CodServerA@example.com, as indicated by the SIP URI of the iFC. Thus, in step 712, the MCF module is selected in accordance with the extracted information and the iFC, and in step 714, the service request message is forwarded from the IPTV controller to the selected MCF module.

Referring now to FIG. 8, a block diagram is provided illustrating a configuration of an IPTV controller that supports CDN selection based on user location, according to an embodiment of the present invention. The IPTV controller includes a user profile fetching unit 802, an iFC extraction unit 804, a message/schema extraction unit 806, an iFC matching unit 808, an MDF module selection unit 810, and a transceiver 812.

The user profile fetching unit 802 retrieves a user profile corresponding to a user that sent a service request message that was received at the IPTV controller via the transceiver 812. The iFC extraction unit 804 extracts an iFC from the retrieved user profile. The message/schema extraction unit 806 extracts service information and user location information from the service request message. The iFC matching unit 808 filters the extracted service and user location information through the extracted iFC. The MDF module selection unit 810 selects an appropriate MDF module and a corresponding CDN based on the filtering result, and forwards the service request message to the selected MDF module via the transceiver 812.

As described above in embodiments of the present invention, CDN selection based on user location allows a service provider to select the CDN (MCF module) and content storage (MDF module) based on user location. Content may then be provided to the user over the shortest geographic distance. Content may also be provided to the user over the shortest logical distance, such as, for example, the shortest routing path computed in consideration of the network environment. Because the requested content is provided via the shortest distance, it is possible to for the user to receive stable service quality and for the service provider to efficiently manage traffic over the network.

While the invention has been shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents. 

What is claimed is:
 1. A method for selecting a Content Delivery Network (CDN) for Internet Protocol (IP)-based services at an IP controller, comprising the steps of: receiving, by the IP controller, a service request message from a user, wherein the service request message comprises location information of the user and session description information of the service; selecting, by the IP controller, the CDN from a plurality of CDNs in accordance with the location information of the user, wherein the IP controller is outside of the plurality of CDNs; and transmitting, by the IP controller, the service request message to a control function module of the CDN for connection of a corresponding delivery function module of the CDN to the user, wherein the control function module is configured to select the corresponding delivery function module based on the location information of the user and the session description information of the service.
 2. The method of claim 1, wherein the service request message comprises a Session Initiation Protocol (SIP) header and an SIP body.
 3. The method of claim 2, wherein the SIP body comprises a Session Description Protocol (SDP) payload providing requested service information and a schema providing the location information of the user.
 4. The method of claim 3, wherein the schema defines at least one of a geocoordinate element and a Base Station Identifier (BSID) element for providing the location information of the user.
 5. The method of claim 4, wherein the geocoordinate element expresses the location information of the user in latitudinal and longitudinal coordinates and the BSID element expresses the location information of the user in accordance with a corresponding Internet access point.
 6. The method of claim 1, wherein selecting the CDN comprises: extracting the location information of the user and requested service information from the service request message; retrieving a user profile for the user from a server; and authenticating the user for the requested service information using the user profile.
 7. The method of claim 6, wherein selecting the CDN further comprises: extracting an initial Filter Criteria (iFC) from the user profile; filtering the location information of the user and the requested service information through the iFC; and selecting a control function module and the CDN in accordance with the filtering results of the location information of the user and the requested service information with the iFC.
 8. The method of claim 7, wherein the iFC comprises at least a user location based filtering parameter and an SIP Uniform Resource Identifier (URI) filtering parameter corresponding to the control function module and the corresponding CDN.
 9. The method of claim 1, wherein selecting the CDN comprises selecting a CDN closest to the location information of the user from among a plurality of CDNs.
 10. The method of claim 1, wherein the CDN selects the corresponding delivery function module in accordance with the location information of the user.
 11. The method of claim 10, wherein the corresponding delivery function module is selected as closest to the location information of the user from a plurality of delivery function modules in the CDN.
 12. The method of claim 1, wherein the service request message comprises a Content on Demand (CoD) service request message.
 13. The method of claim 1, wherein the IP-based services are provided in at least one of an Open Internet model and an IP Multimedia Subsystem (IMS)-based Managed model.
 14. The method of claim 1, wherein the IP-based services comprise IP Television (TV) services.
 15. A method for establishing a connection with a Content Delivery Network (CDN) at a User Equipment (UE) for Internet Protocol (IP)-based services, comprising the steps of: transmitting, by the UE, a service request message to an IP controller, wherein the service request message comprises location information of the UE and session description information of the service; and establishing, by the UE, a connection with a delivery function module of the CDN, wherein the CDN is selected by the IP controller from a plurality of CDNs in accordance with the location information of the UE for reception of a requested service, wherein the IP controller is outside of the plurality of CDNs, wherein the CDN comprises a control function module configured to receive the service request message from the IP controller for the establishing of the connection between the UE and the delivery function module of the CDN, and wherein the control function module is configured to select the delivery function module based on the location information of the UE and the session description information of the service.
 16. An Internet Protocol (IP) controller for IP-based services comprising: a receiver for receiving a service request message from a user, wherein the service request message comprises location information of the user and session description information of the service; a media delivery function selector that selects a Content Delivery Network (CDN) from a plurality of CDNs in accordance with the location information of the user; and a transmitter for transmitting the service request message to a control function module of the CDN for connection of a corresponding delivery function module of the CDN to the user, wherein the IP controller is outside of the plurality of CDNs, and wherein the control function module is configured to select the corresponding delivery function module based on the location information of the user and the session description information of the service.
 17. The IP controller of claim 16, further comprising: a user profile fetching unit for retrieving a user profile corresponding to the user; an iFC extraction unit for extracting an iFC from the user profile; a message/schema extracting unit for extracting service information and the location information of the user from the service request message; and an iFC matching unit for filtering the service and the location information of the user through the extracted iFC; wherein the selection unit selects a control function module and the CDN in accordance with the filtering result.
 18. A User Equipment (UE) for Internet Protocol (IP)-based services comprising: a transmitter for transmitting a service request message to an IP controller, wherein the service request message comprises location information of the UE and session description information of the service; and a controller for establishing a connection with a delivery function module of a Content Delivery Network (CDN), wherein the CDN is selected by the IP controller from a plurality of CDNs in accordance with the location information of the UE for reception of a requested service, wherein the IP controller is outside of the plurality of CDNs, wherein the CDN comprises a control function module configured to receive the service request message from the IP controller for the establishing of the connection between the delivery function module of the CDN and the UE, and wherein the control function module is configured to select the delivery function module based on the location information of the UE and the session description information of the service. 